home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / c / PMM.lha / PMM / Developer / pascal / Gateway.pas
Encoding:
Pascal/Delphi Source File  |  2000-03-21  |  7.9 KB  |  438 lines

  1. UNIT GATEWAY;
  2.  
  3. INTERFACE
  4. USES Exec;
  5.  
  6. VAR GatewayBase : pLibrary;
  7.  
  8. FUNCTION GateRequest(title_d1 : pCHAR; body : pCHAR; gadgets : pCHAR) : CARDINAL;
  9. PROCEDURE trim(trptr : pCHAR);
  10. PROCEDURE rtrim(trptr : pCHAR);
  11. PROCEDURE trim_include(trptr : pCHAR);
  12. PROCEDURE mail_trim(trptr : pCHAR; fkt : LONGINT);
  13. PROCEDURE set(lbuff : pCHAR; slen : LONGINT);
  14. PROCEDURE lset(lbuff : pCHAR; slen : LONGINT);
  15. PROCEDURE lsetmin(lbuff : pCHAR; slen : LONGINT);
  16. FUNCTION instr(sa : pCHAR; sb : pCHAR) : LONGINT;
  17. PROCEDURE midstr(mstr : pCHAR; pos : LONGINT; laenge : LONGINT);
  18. PROCEDURE newstr(istr : pCHAR; nstr : pCHAR; pos : LONGINT; len : LONGINT);
  19. FUNCTION wordwrp(line : pCHAR; rest : pCHAR; len : LONGINT) : LONGINT;
  20. PROCEDURE kill_ansi(buffer : pCHAR);
  21. FUNCTION fn_splitt(src : pSHORTINT; drive : pSHORTINT; path : pSHORTINT; name : pSHORTINT; ext : pSHORTINT) : pSHORTINT;
  22. FUNCTION fn_build(dst : pSHORTINT; drive : pSHORTINT; path : pSHORTINT; name : pSHORTINT; ext : pSHORTINT) : pSHORTINT;
  23. FUNCTION time_to_zahl(ti : pCHAR) : CARDINAL;
  24. FUNCTION date_to_zahl(da : pCHAR) : CARDINAL;
  25. FUNCTION date_to_day(date : CARDINAL) : CARDINAL;
  26. PROCEDURE addval(str : pCHAR; m : CARDINAL);
  27. FUNCTION ltofa(tx_d1 : pSHORTINT; l : CARDINAL) : pSHORTINT;
  28. PROCEDURE string(spstr : pCHAR; num : LONGINT; ch : LONGINT);
  29. FUNCTION newer(d1 : pCHAR; t1 : pCHAR; d2 : pCHAR; t2 : pCHAR) : BOOLEAN;
  30. PROCEDURE upstr(trptr : pCHAR);
  31. PROCEDURE lowstr(trptr : pCHAR);
  32. FUNCTION StrCaseCmp(s1 : pSHORTINT; s2 : pSHORTINT) : LONGINT;
  33. FUNCTION strdup(CONST s : pSHORTINT) : pSHORTINT;
  34. PROCEDURE swapmem(src : pSHORTINT; dst : pSHORTINT; n : LONGINT);
  35. FUNCTION memncmp(a : pSHORTINT; b : pSHORTINT; lenght : LONGINT) : LONGINT;
  36. FUNCTION index(str : pSHORTINT; c : LONGINT) : pSHORTINT;
  37. PROCEDURE trim_cr(trptr : pCHAR);
  38. FUNCTION instr_pat(sa : pCHAR; sb : pCHAR) : LONGINT;
  39.  
  40. IMPLEMENTATION
  41.  
  42. FUNCTION GateRequest(title_d1 : pCHAR; body : pCHAR; gadgets : pCHAR) : CARDINAL;
  43. BEGIN
  44.   ASM
  45.     MOVE.L    A6,-(A7)
  46.     MOVE.L    title_d1,D1
  47.     MOVE.L    body,D2
  48.     MOVE.L    gadgets,D3
  49.     MOVEA.L    GatewayBase,A6
  50.     JSR    -030(A6)
  51.     MOVEA.L    (A7)+,A6
  52.     MOVE.L    D0,@RESULT
  53.   END;
  54. END;
  55.  
  56. PROCEDURE trim(trptr : pCHAR);
  57. BEGIN
  58.   ASM
  59.     MOVE.L    A6,-(A7)
  60.     MOVE.L    trptr,D1
  61.     MOVEA.L    GatewayBase,A6
  62.     JSR    -036(A6)
  63.     MOVEA.L    (A7)+,A6
  64.   END;
  65. END;
  66.  
  67. PROCEDURE rtrim(trptr : pCHAR);
  68. BEGIN
  69.   ASM
  70.     MOVE.L    A6,-(A7)
  71.     MOVE.L    trptr,D1
  72.     MOVEA.L    GatewayBase,A6
  73.     JSR    -042(A6)
  74.     MOVEA.L    (A7)+,A6
  75.   END;
  76. END;
  77.  
  78. PROCEDURE trim_include(trptr : pCHAR);
  79. BEGIN
  80.   ASM
  81.     MOVE.L    A6,-(A7)
  82.     MOVE.L    trptr,D1
  83.     MOVEA.L    GatewayBase,A6
  84.     JSR    -048(A6)
  85.     MOVEA.L    (A7)+,A6
  86.   END;
  87. END;
  88.  
  89. PROCEDURE mail_trim(trptr : pCHAR; fkt : LONGINT);
  90. BEGIN
  91.   ASM
  92.     MOVE.L    A6,-(A7)
  93.     MOVE.L    trptr,D1
  94.     MOVE.L    fkt,D2
  95.     MOVEA.L    GatewayBase,A6
  96.     JSR    -054(A6)
  97.     MOVEA.L    (A7)+,A6
  98.   END;
  99. END;
  100.  
  101. PROCEDURE set(lbuff : pCHAR; slen : LONGINT);
  102. BEGIN
  103.   ASM
  104.     MOVE.L    A6,-(A7)
  105.     MOVE.L    lbuff,D1
  106.     MOVE.L    slen,D2
  107.     MOVEA.L    GatewayBase,A6
  108.     JSR    -060(A6)
  109.     MOVEA.L    (A7)+,A6
  110.   END;
  111. END;
  112.  
  113. PROCEDURE lset(lbuff : pCHAR; slen : LONGINT);
  114. BEGIN
  115.   ASM
  116.     MOVE.L    A6,-(A7)
  117.     MOVE.L    lbuff,D1
  118.     MOVE.L    slen,D2
  119.     MOVEA.L    GatewayBase,A6
  120.     JSR    -066(A6)
  121.     MOVEA.L    (A7)+,A6
  122.   END;
  123. END;
  124.  
  125. PROCEDURE lsetmin(lbuff : pCHAR; slen : LONGINT);
  126. BEGIN
  127.   ASM
  128.     MOVE.L    A6,-(A7)
  129.     MOVE.L    lbuff,D1
  130.     MOVE.L    slen,D2
  131.     MOVEA.L    GatewayBase,A6
  132.     JSR    -072(A6)
  133.     MOVEA.L    (A7)+,A6
  134.   END;
  135. END;
  136.  
  137. FUNCTION instr(sa : pCHAR; sb : pCHAR) : LONGINT;
  138. BEGIN
  139.   ASM
  140.     MOVE.L    A6,-(A7)
  141.     MOVE.L    sa,D1
  142.     MOVE.L    sb,D2
  143.     MOVEA.L    GatewayBase,A6
  144.     JSR    -078(A6)
  145.     MOVEA.L    (A7)+,A6
  146.     MOVE.L    D0,@RESULT
  147.   END;
  148. END;
  149.  
  150. PROCEDURE midstr(mstr : pCHAR; pos : LONGINT; laenge : LONGINT);
  151. BEGIN
  152.   ASM
  153.     MOVE.L    A6,-(A7)
  154.     MOVE.L    mstr,D1
  155.     MOVE.L    pos,D2
  156.     MOVE.L    laenge,D3
  157.     MOVEA.L    GatewayBase,A6
  158.     JSR    -084(A6)
  159.     MOVEA.L    (A7)+,A6
  160.   END;
  161. END;
  162.  
  163. PROCEDURE newstr(istr : pCHAR; nstr : pCHAR; pos : LONGINT; len : LONGINT);
  164. BEGIN
  165.   ASM
  166.     MOVE.L    A6,-(A7)
  167.     MOVE.L    istr,D1
  168.     MOVE.L    nstr,D2
  169.     MOVE.L    pos,D3
  170.     MOVE.L    len,D4
  171.     MOVEA.L    GatewayBase,A6
  172.     JSR    -090(A6)
  173.     MOVEA.L    (A7)+,A6
  174.   END;
  175. END;
  176.  
  177. FUNCTION wordwrp(line : pCHAR; rest : pCHAR; len : LONGINT) : LONGINT;
  178. BEGIN
  179.   ASM
  180.     MOVE.L    A6,-(A7)
  181.     MOVE.L    line,D1
  182.     MOVE.L    rest,D2
  183.     MOVE.L    len,D3
  184.     MOVEA.L    GatewayBase,A6
  185.     JSR    -096(A6)
  186.     MOVEA.L    (A7)+,A6
  187.     MOVE.L    D0,@RESULT
  188.   END;
  189. END;
  190.  
  191. PROCEDURE kill_ansi(buffer : pCHAR);
  192. BEGIN
  193.   ASM
  194.     MOVE.L    A6,-(A7)
  195.     MOVE.L    buffer,D1
  196.     MOVEA.L    GatewayBase,A6
  197.     JSR    -102(A6)
  198.     MOVEA.L    (A7)+,A6
  199.   END;
  200. END;
  201.  
  202. FUNCTION fn_splitt(src : pSHORTINT; drive : pSHORTINT; path : pSHORTINT; name : pSHORTINT; ext : pSHORTINT) : pSHORTINT;
  203. BEGIN
  204.   ASM
  205.     MOVE.L    A6,-(A7)
  206.     MOVE.L    src,D1
  207.     MOVE.L    drive,D2
  208.     MOVE.L    path,D3
  209.     MOVE.L    name,D4
  210.     MOVE.L    ext,D5
  211.     MOVEA.L    GatewayBase,A6
  212.     JSR    -108(A6)
  213.     MOVEA.L    (A7)+,A6
  214.     MOVE.L    D0,@RESULT
  215.   END;
  216. END;
  217.  
  218. FUNCTION fn_build(dst : pSHORTINT; drive : pSHORTINT; path : pSHORTINT; name : pSHORTINT; ext : pSHORTINT) : pSHORTINT;
  219. BEGIN
  220.   ASM
  221.     MOVE.L    A6,-(A7)
  222.     MOVE.L    dst,D1
  223.     MOVE.L    drive,D2
  224.     MOVE.L    path,D3
  225.     MOVE.L    name,D4
  226.     MOVE.L    ext,D5
  227.     MOVEA.L    GatewayBase,A6
  228.     JSR    -114(A6)
  229.     MOVEA.L    (A7)+,A6
  230.     MOVE.L    D0,@RESULT
  231.   END;
  232. END;
  233.  
  234. FUNCTION time_to_zahl(ti : pCHAR) : CARDINAL;
  235. BEGIN
  236.   ASM
  237.     MOVE.L    A6,-(A7)
  238.     MOVE.L    ti,D1
  239.     MOVEA.L    GatewayBase,A6
  240.     JSR    -120(A6)
  241.     MOVEA.L    (A7)+,A6
  242.     MOVE.L    D0,@RESULT
  243.   END;
  244. END;
  245.  
  246. FUNCTION date_to_zahl(da : pCHAR) : CARDINAL;
  247. BEGIN
  248.   ASM
  249.     MOVE.L    A6,-(A7)
  250.     MOVE.L    da,D1
  251.     MOVEA.L    GatewayBase,A6
  252.     JSR    -126(A6)
  253.     MOVEA.L    (A7)+,A6
  254.     MOVE.L    D0,@RESULT
  255.   END;
  256. END;
  257.  
  258. FUNCTION date_to_day(date : CARDINAL) : CARDINAL;
  259. BEGIN
  260.   ASM
  261.     MOVE.L    A6,-(A7)
  262.     MOVE.L    date,D1
  263.     MOVEA.L    GatewayBase,A6
  264.     JSR    -132(A6)
  265.     MOVEA.L    (A7)+,A6
  266.     MOVE.L    D0,@RESULT
  267.   END;
  268. END;
  269.  
  270. PROCEDURE addval(str : pCHAR; m : CARDINAL);
  271. BEGIN
  272.   ASM
  273.     MOVE.L    A6,-(A7)
  274.     MOVE.L    str,D1
  275.     MOVE.L    m,D2
  276.     MOVEA.L    GatewayBase,A6
  277.     JSR    -138(A6)
  278.     MOVEA.L    (A7)+,A6
  279.   END;
  280. END;
  281.  
  282. FUNCTION ltofa(tx_d1 : pSHORTINT; l : CARDINAL) : pSHORTINT;
  283. BEGIN
  284.   ASM
  285.     MOVE.L    A6,-(A7)
  286.     MOVE.L    tx_d1,D1
  287.     MOVE.L    l,D2
  288.     MOVEA.L    GatewayBase,A6
  289.     JSR    -144(A6)
  290.     MOVEA.L    (A7)+,A6
  291.     MOVE.L    D0,@RESULT
  292.   END;
  293. END;
  294.  
  295. PROCEDURE string(spstr : pCHAR; num : LONGINT; ch : LONGINT);
  296. BEGIN
  297.   ASM
  298.     MOVE.L    A6,-(A7)
  299.     MOVE.L    spstr,D1
  300.     MOVE.L    num,D2
  301.     MOVE.L    ch,D3
  302.     MOVEA.L    GatewayBase,A6
  303.     JSR    -150(A6)
  304.     MOVEA.L    (A7)+,A6
  305.   END;
  306. END;
  307.  
  308. FUNCTION newer(d1 : pCHAR; t1 : pCHAR; d2 : pCHAR; t2 : pCHAR) : BOOLEAN;
  309. BEGIN
  310.   ASM
  311.     MOVE.L    A6,-(A7)
  312.     MOVE.L    d1,D1
  313.     MOVE.L    t1,D2
  314.     MOVE.L    d2,D3
  315.     MOVE.L    t2,D4
  316.     MOVEA.L    GatewayBase,A6
  317.     JSR    -156(A6)
  318.     MOVEA.L    (A7)+,A6
  319.     TST.W    D0
  320.     BEQ.B    @end
  321.     MOVEQ    #1,D0
  322.   @end:    MOVE.B    D0,@RESULT
  323.   END;
  324. END;
  325.  
  326. PROCEDURE upstr(trptr : pCHAR);
  327. BEGIN
  328.   ASM
  329.     MOVE.L    A6,-(A7)
  330.     MOVE.L    trptr,D1
  331.     MOVEA.L    GatewayBase,A6
  332.     JSR    -162(A6)
  333.     MOVEA.L    (A7)+,A6
  334.   END;
  335. END;
  336.  
  337. PROCEDURE lowstr(trptr : pCHAR);
  338. BEGIN
  339.   ASM
  340.     MOVE.L    A6,-(A7)
  341.     MOVE.L    trptr,D1
  342.     MOVEA.L    GatewayBase,A6
  343.     JSR    -168(A6)
  344.     MOVEA.L    (A7)+,A6
  345.   END;
  346. END;
  347.  
  348. FUNCTION StrCaseCmp(s1 : pSHORTINT; s2 : pSHORTINT) : LONGINT;
  349. BEGIN
  350.   ASM
  351.     MOVE.L    A6,-(A7)
  352.     MOVE.L    s1,D1
  353.     MOVE.L    s2,D2
  354.     MOVEA.L    GatewayBase,A6
  355.     JSR    -174(A6)
  356.     MOVEA.L    (A7)+,A6
  357.     MOVE.L    D0,@RESULT
  358.   END;
  359. END;
  360.  
  361. FUNCTION strdup(CONST s : pSHORTINT) : pSHORTINT;
  362. BEGIN
  363.   ASM
  364.     MOVE.L    A6,-(A7)
  365.     MOVE.L    s,D1
  366.     MOVEA.L    GatewayBase,A6
  367.     JSR    -180(A6)
  368.     MOVEA.L    (A7)+,A6
  369.     MOVE.L    D0,@RESULT
  370.   END;
  371. END;
  372.  
  373. PROCEDURE swapmem(src : pSHORTINT; dst : pSHORTINT; n : LONGINT);
  374. BEGIN
  375.   ASM
  376.     MOVE.L    A6,-(A7)
  377.     MOVE.L    src,D1
  378.     MOVE.L    dst,D2
  379.     MOVE.L    n,D3
  380.     MOVEA.L    GatewayBase,A6
  381.     JSR    -186(A6)
  382.     MOVEA.L    (A7)+,A6
  383.   END;
  384. END;
  385.  
  386. FUNCTION memncmp(a : pSHORTINT; b : pSHORTINT; lenght : LONGINT) : LONGINT;
  387. BEGIN
  388.   ASM
  389.     MOVE.L    A6,-(A7)
  390.     MOVE.L    a,D1
  391.     MOVE.L    b,D2
  392.     MOVE.L    lenght,D3
  393.     MOVEA.L    GatewayBase,A6
  394.     JSR    -192(A6)
  395.     MOVEA.L    (A7)+,A6
  396.     MOVE.L    D0,@RESULT
  397.   END;
  398. END;
  399.  
  400. FUNCTION index(str : pSHORTINT; c : LONGINT) : pSHORTINT;
  401. BEGIN
  402.   ASM
  403.     MOVE.L    A6,-(A7)
  404.     MOVE.L    str,D1
  405.     MOVE.L    c,D2
  406.     MOVEA.L    GatewayBase,A6
  407.     JSR    -198(A6)
  408.     MOVEA.L    (A7)+,A6
  409.     MOVE.L    D0,@RESULT
  410.   END;
  411. END;
  412.  
  413. PROCEDURE trim_cr(trptr : pCHAR);
  414. BEGIN
  415.   ASM
  416.     MOVE.L    A6,-(A7)
  417.     MOVE.L    trptr,D1
  418.     MOVEA.L    GatewayBase,A6
  419.     JSR    -204(A6)
  420.     MOVEA.L    (A7)+,A6
  421.   END;
  422. END;
  423.  
  424. FUNCTION instr_pat(sa : pCHAR; sb : pCHAR) : LONGINT;
  425. BEGIN
  426.   ASM
  427.     MOVE.L    A6,-(A7)
  428.     MOVE.L    sa,D1
  429.     MOVE.L    sb,D2
  430.     MOVEA.L    GatewayBase,A6
  431.     JSR    -210(A6)
  432.     MOVEA.L    (A7)+,A6
  433.     MOVE.L    D0,@RESULT
  434.   END;
  435. END;
  436.  
  437. END. (* UNIT GATEWAY *)
  438.